import { defineErrMsg } from '../type/response.type';
/**
 * 业务错误信息
 */

export const ERR_DATA = {
  // =========================================
  // =========================================
  // =============== 少量/通用 ================
  // =========================================
  // =========================================

  CHECK: { code: '99999', msg: '校验不通过' },
  /**
   * 00000 - 自定义报错
   */
  CUSTOM: { code: '00000', msg: '业务错误' },
  /**
   * 00001 - jwt错误
   */
  AUTH_JWT_ERROR: { code: '00001', msg: 'jwt认证错误' },
  /**
   * 00002 - 请求参数问题
   */
  PARAMS_NOT_MATCH: { code: '00002', msg: '请求参数问题' },
  /**
   * 00003 - 接口地址不存在
   */
  ROUTE_NOT_FOUND: { code: '00003', msg: '接口地址不存在' },

  /**
   * 00004 - 接口地址不存在
   */
  Data_NOT_FOUND: { code: '00004', msg: '数据不存在' },

  // =========================================
  // =========================================
  // =============== 具体业务 ================
  // =========================================
  // =========================================

  LOGIN_NOT_CORRECT: { code: '10001', msg: '请输入正确的账号或密码' },
  LOGIN_NOT_PERMITTED: {
    code: '10002',
    msg: '登录失败！该账号无登录权限，请联系管理员',
  },
  LOGIN_IS_FREEZE: {
    code: '10003',
    msg: '登录失败！该账号已禁用，请联系管理员',
  },
  LOGIN_NOT_EXIST: { code: '10004', msg: '用户不存在' },
  LOGIN_NAME_IS_EXIST: { code: '10005', msg: '账号已存在' },

  DEPART_IS_EXIST: { code: '10006', msg: '部门已存在' },
  DEPART_NOT_EXIST: { code: '10007', msg: '部门不存在' },
  DEPART_HAS_CHILD_NOT_DELETE: {
    code: '10008',
    msg: '当前部门下有子部门，无法删除',
  },

  ROLE_IS_EXIST: { code: '10009', msg: '角色已存在' },
  ROLE_NOT_EXIST: { code: '100010', msg: '角色不存在' },

  MENU_NODE_NAME_REPEAT: { code: '100011', msg: '菜单节点名称重复' },
  MENU_NODE_PERMISSION_REPEAT: { code: '100012', msg: '菜单权限标识重复' },
  MENU_NODE_PARENT_NOT_EXIST: {
    code: '100013',
    msg: '菜单上级节点不存在 请检查传入的权限标识是否存在',
  },
  MENU_NOT_EXIST: { code: '100014', msg: '菜单不存在' },
  MENU_HAS_CHILDREN: { code: '100015', msg: '菜单有子节点 不能删除' },
  MENU_MISSING_ROOT: { code: '1000034', msg: '菜单缺失根节点' },
};

export const ERR_MSG = defineErrMsg(ERR_DATA);
